#ifndef _KRAW_D3D9SHADER_H_
#define _KRAW_D3D9SHADER_H_

// Encapsulate a shader material
// possible implementations include: Fixed function, Vertex/Pixel shaders, Effect files, etc.
// It's not responsible for loading meshes and textures, only for wrapping the shader loading,
// setting parameters, etc. 
// It's the material the responsible for all the other intricacies
#include <D3DX9Shader.h>

namespace Kraw
{

class Matrix44;

class D3D9Shader
{
public:
    D3D9Shader();
	~D3D9Shader();

	IDirect3DVertexShader9* pVertexShader;
	IDirect3DPixelShader9* pPixelShader;
	ID3DXConstantTable* pConstantTable;
};

}

#endif
